// 引入mongoose模块
var mongoose = require('mongoose');

// 创建全局对象Mongoose
var Mongoose = {
	// 指定连接数据库的名字miao
	url: "mongodb://localhost:27017/miao",
	// 连接数据库connect
	connect(){
		// this代指调用该方法的对象Mongoose
		mongoose.connect(this.url,{ useNewUrlParser: true, useUnifiedTopology: true },(err) => {
			if(err) {
				console.log('数据库连接失败')
				return;
			}
			console.log('数据库连接成功')
		})
	}
}

// 引入nodemailer
var nodemailer = require('nodemailer')

// 配置Email
var Email = {
	config: {
		host: 'smtp.qq.com',//使用qq邮箱
		port: 465,
		secure: true, // use TLS
		// secure: false, // true for 465, false for other ports
		auth: {
				// user: "new666@qq.com", // generated ethereal user
				// pass: 'xxxxxxxxxx' // generated ethereal password
				user: '1293964560@qq.com',
				pass: 'qxzddvptduukjbcc'
		}
	},
	// nodemailer官方文档中，赋值到transporter中
	// 方法中调用属性，this指代调用该方法的对象nodemailer，this.config，写config会报错，config是属性，transporter是方法
	// 属性取值器getter
	get transporter(){
		return nodemailer.createTransport(this.config)
	},
	// 获取验证码
	get verify() {
		// 随机数变字符串再截取第2-6位（不包括第6位），即4个随机数字组成的字符串
		return Math.random().toString().substring(2,6)
	},
	// 获取时间
	get time() {
		return Date.now()
	}

}


// 导出为对外接口
module.exports = {
	Mongoose,
	Email
}

